package com.gnerv.rabbitmq.agent.handler;

import com.gnerv.rabbitmq.agent.model.entity.ClusterStatus;

/**
 * @author Gnerv LiGen
 */
public abstract class AbstractClusterStatusExecResultHandler extends ExecResultHandler<ClusterStatus> {

    protected ClusterStatus clusterStatus = new ClusterStatus();

    protected abstract void name();

    protected abstract void disc();

    protected abstract void ram();

    protected abstract void running();

    @Override
    public final ClusterStatus handle() {
        name();
        disc();
        ram();
        running();
        return this.clusterStatus;
    }

}
